package com.hmp.recruit.admin.sys.user.dao;

import org.apache.ibatis.annotations.Param;

import com.hmp.recruit.admin.sys.user.vo.UserVo;

public interface UserDao {

	/**
	 * 用户登录
	 * @author 何家明
	 * @date   2018年11月4日 下午3:21:19
	 * @param account
	 * @param password
	 * @param securityKey 
	 * @return
	 */
	UserVo login(@Param("email")String email, @Param("password")String password, @Param("securityKey")String securityKey);

	/**
	 * 注册
	 * @author 何家明
	 * @date   2018年11月18日 上午12:43:11
	 * @param userVo
	 */
	void register(UserVo userVo);

	/**
	 * 根据email获取用户信息
	 * @author 何家明
	 * @date   2018年11月18日 上午1:06:00
	 * @param email
	 * @return
	 */
	UserVo getByEmail(String email);

	/**
	 * 验证邮箱
	 * @author 何家明
	 * @date   2018年11月18日 上午1:09:23
	 * @param email
	 */
	void validateEmail(String email);

	/**
	 * 根据id获取用户信息
	 * @auth 何家明
	 * @date 2018年11月19日 下午4:12:25
	 * @param id
	 * @return
	 */
	UserVo getById(String id);

	/**
	 * 更新用户信息
	 * @auth ex-hejm
	 * @date 2018年11月20日 下午4:44:53
	 * @param user
	 */
	void update(UserVo user);

	/**
	 * 修改密码
	 * @auth ex-hejm
	 * @date 2018年11月21日 上午10:24:25
	 * @param id
	 * @param password
	 * @param securityKey
	 */
	void modifyPassword(@Param("id")String id, @Param("password")String password, @Param("securityKey")String securityKey);

}
